#ifndef _ENTITY_COMPONENT
#define _ENTITY_COMPONENT

class Entity;

enum ComponentType
{
	GraphicComponent,
	TransformComponent,
	SpaceBehaviorComponent,
	UserDefinedComponent
};

class EntityComponent
{
public:
	EntityComponent();
	~EntityComponent();
	virtual void onAdd(Entity *entity);
	virtual void onRemove();
	virtual ComponentType type()const=0;
protected:
	Entity *mEntity;
};

#endif	//_ENTITY_COMPONENT